/* 
 * Copyright [2018] [Alex/libo(liboms@hotmail.com)]
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *  http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package com.hyts.scanner.utility;

/** 
 * @title StringUtils.java  
 * @package com.hyts.apidoc.utility  
 * @description TODO  
 * @see TODO
 * @author libo/Alex
 * @email liboms@hotmail.com/liboware@163.com  
 * @date 2018年4月18日 
 * @version V1.0 
 */
public class StringUtils {

	/**  
	 * <b>isNull:是否为空</b>
	 * <p>
	 *   判断传入的字符串是否为空：只考虑：null一种条件
	 *   如果考虑 (null,""、" "、等情况)请查看{@link #isEmpty(String)}方法  
	 *   如果考虑 (null,""、" "、"null"等情况)查看{@link #isBlank(String)}方法
	 * </p>
	 * @param paramStr 传入的字符换参数
	 * @return 返回是否符合条件的boolean标识（true/false）
	 */ 
    public static boolean isNull(String paramStr) {
	    return paramStr == null;
    }
	
	/**  
	 * <b>isNotNull:是否不为空</b>
	 * <p>
	 *   判断传入的字符串是否不为空：只考虑：null一种条件
	 *   如果考虑 (null,""、" "、等情况)请查看{@link #isNotEmpty(String)}方法  
	 *   如果考虑 (null,""、" "、"null"等情况)查看{@link #isNotBlank(String)}方法
	 * </p>
	 * @param paramStr 传入的字符换参数
	 * @return 返回是否符合条件的boolean标识（true/false）
	 */ 
    public static boolean isNotNull(String paramStr) {
	    return paramStr != null;
    }
    
    /**  
     * <b>isEmpty:是否为空(字符串专业处理类)</b>
     * <p>判断是否字符串参数为空，进行判断是否属于空字符串操作 (null,""、" ")
	 *   如果考虑 (null,""、" "、"null"等情况)查看{@link #isBlank(String)}方法
     * </p>
     * @param paramStr 传入的字符串参数
	 * @return 返回是否符合条件的boolean标识（true/false）
     */ 
    public static boolean isEmpty(String paramStr) {
        return isNull(paramStr) || "".equals(paramStr) || paramStr.trim().length() == 0;
    }
	
    /**  
     * <b>isNotEmpty:是否不为空(字符串专业处理类)</b>
     * <p>判断是否字符串参数不为空，进行判断是否不属于空字符串操作 (null,""、" ")
     *   如果考虑 (null,""、" "、"null"等情况)查看{@link #isNotBlank(String)}方法
     * </p>
     * @param paramStr 传入的字符串参数
	 * @return 返回是否符合条件的boolean标识（true/false）
     */ 
    public static boolean isNotEmpty(String paramStr) {
        return !isEmpty(paramStr);
    }
    
    /**  
     * <b>isBlank:判断是否为空(字符串最全面的的判断校验)</b>
     * <p>
     * 	   如果考虑 (null,""、" "、"null"等情况)
     * </p>
     * @param paramStr 传入的字符串参数
	 * @return 返回是否符合条件的boolean标识（true/false）
     */
    public static boolean isBlank(String paramStr) {
    	return "null".equalsIgnoreCase(paramStr) || isEmpty(paramStr);
    }
    
    /**  
     * <b>isNotBlank:判断是否不为空(字符串最全面的的判断校验)</b>
     * <p>
     * 	   如果考虑 (null,""、" "、"null"等情况)
     * </p>
     * @param paramStr 传入的字符串参数
	 * @return 返回是否符合条件的boolean标识（true/false）
     */ 
    public static boolean isNotBlank(String paramStr) {
    	return !isBlank(paramStr);
    }
     
	
}
